package com.skyable.account.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skyable.account.entity.SysDept;
import com.skyable.common.common.ServiceResult;

import java.util.List;

/**
 * @author GaoYuan
 * @title: IDeptService
 * @projectName spring-cloud-oauth2-demo
 * @description: TODO
 * @date 2021/4/1713:59
 */
public interface IDeptService extends IService<SysDept> {

    /**
     * 新增部门
     * @param sysDept
     * @return
     */
    ServiceResult<SysDept> insertDept(SysDept sysDept);

    /**
     * 更新部门信息
     * @param sysDept
     * @return
     */
    ServiceResult<SysDept> updateDept(SysDept sysDept);

    /**
     * 分页获取部门列表
     * @param page
     * @param limit
     * @param sysDept
     * @return
     */
    ServiceResult<IPage<SysDept>> findDeptListByPage(int page, int limit, SysDept sysDept);

    /**
     * 获取所有部门列表
     * @return
     */
    ServiceResult<List<SysDept>> findDeptList();

    /**
     * 根据ID查询部门
     * @param deptId
     * @return
     */
    ServiceResult<SysDept> findDeptById(Long deptId);

    /**
     * 删除部门
     * @param deptId
     * @return
     */
    ServiceResult<Integer> deleteDeptById(Long deptId);
}
